home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1995-11-04 | 7.0 KB | 262 lines |
- ' *************************************
- ' * *
- ' * Land Of Magic Title V0.9 *
- ' *Story and Design by Marco Eberhardt*
- ' * Written by Chris Hodges *
- ' * Graphics by Riccard Linde *
- ' *Additional Gfx by Fredrik Johansson*
- ' * Music by Fredrik Johansson *
- ' * *
- ' *************************************
- '
- Hide
- TITLE
- Procedure TITLE
- Gosub LOMINTRO
- Gosub IMMORTALINTRO
- Gosub CREDITSSCROLLER
- For A=64 To 0 Step -1 : Extension_8_10C6 A : Wait Vbl : Next
- Extension_8_10A8
- Erase All
- Pop Proc
- LOMINTRO:
- Screen Open 2,320,512,2,0 : Screen Hide
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
- LOAFIL["Graphics/garnet.font",-11]
- Extension_8_1204 11
- ' Change Font "Garnet",16
- Screen Open 1,320,256,16,0 : Screen Hide
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
- Screen Display 1,128,40,320,256
- LOAFIL["Music/mod.lom-intro",-3]
- LOAFIL["Misc/TitleText.dat",9]
- Extension_8_10F2 125
- Extension_8_10C6 64
- Extension_8_108E 3
- POS=Start(9)
- PIC=1
- Do
- LOAFIL["Graphics/Intro"+ Extension_8_0EB8(PIC,2)+".pic",10]
- Unpack 10 To 0 : Screen Hide
- ' Load Iff "Graphics/Intro"+Lzstr$(PIC,2)+".iff",0
- ' Spack 0 To 10
- ' Save "Graphics/Intro"+Lzstr$(PIC,2)+".pic",10
- SC1=Screen Base
- Screen Display 0,128,40,320,256
- Screen 1 : Get Palette 0
- Screen 0 : For A=0 To 31 : Colour A,0 : Next
- Screen Show
- Fade 3 To 1 : Timer=0 : Wait 49
- Screen 1
- TURBOCONVGREY[SC1,Screen Base,256*320/8]
- Repeat
- Multi Wait
- I$=Inkey$
- Exit If Mouse Key or Fire(1) or(I$<>"")
- Until Timer>250
- If I$=Chr$(27)
- Screen 0
- Fade 1 : Wait 16 : Exit
- End If
- For A=0 To 31
- C=Colour(A)
- Colour A,(( Extension_8_03B2(C)+ Extension_8_03C0(C)+ Extension_8_03D0(C)+1)/3)*$111
- Next
- Screen 0
- Fade 2 To 1 : Wait 33
- Screen 1
- For A=0 To 15 : Colour A,A*$111 : Next
- Wait Vbl
- Screen To Front 1 : Screen Show 1
- Wait Vbl : Wait Vbl
- Screen 0 : Extension_8_121C 0,4
- Screen Copy 1 To 0
- Get Palette 1
- For A=0 To 15 : Colour A+16,A*$111 : Next
- Screen To Front 0 : Screen Hide 1
- Wait 4
- Screen 1
- For A=0 To 15 : Colour A+16,$FFF-(A*$100+$10*(A/2)) : Next
- Repeat
- Screen 2
- Cls 0,0,256 To 320,512
- Y=256+8 : LP=POS : LS=POS
- Do
- P=Peek(POS) : Inc POS
- Exit If P=35 or P=64
- If P=32 or P=10 Then LS=POS-1
- T$=Peek$(LP,POS-LP) : TL=Text Length(T$)
- If P=10 or TL>300
- T$=Peek$(LP,LS-LP) : TL=Text Length(T$)
- Ink 1,0 : Text 160-TL/2,Y+Text Base,T$
- Add Y,16
- LP=LS+1
- End If
- ' If Y>503 and Peek(LP)<>10 Then POS=LP : P=42
- Exit If P=42
- Loop
- If P<>42 Then Inc POS
- LB=Logbase(0)
- Screen 0 : Fade 8 To 1
- OB=Logbase(4)
- Break Off
- For A=0 To 256
- Loke Screen Base+4*4+6*4,LB+A*40 : View : Wait Vbl
- Next
- Wait 1
- Screen Copy 2,0,256,320,512 To 2,0,0
- Extension_8_128A 0
- Loke Screen Base+4*4+6*4,OB
- Extension_8_12B2 2,0 To 0,4
- Wait Vbl : View : Wait Vbl : Break On
- Screen 0
- For A=0 To 900
- Multi Wait
- I$=Inkey$
- Exit If Mouse Key or Fire(1) or(I$<>"")
- Next
- If I$=Chr$(27)
- Screen 0
- Fade 1 : Wait 16 : Exit 2
- End If
- Until P<>42
- Screen 2 : Cls
- Screen 1
- For A=0 To 15 : Colour A+16,A*$111 : Next
- Screen 0
- Fade 1 To 1 : Wait 16
- Fade 2 : Wait 32
- Exit If P=64
- Inc PIC
- Loop
- Screen Close 0
- Screen Close 1
- Screen Close 2
- Erase 9
- Erase 10
- Erase 11
- Return
- IMMORTALINTRO:
- LOAFIL["Graphics/LandOfMagic.pic",4]
- Auto View Off : Unpack 4 To 7 : Screen Hide
- Erase 4
- View : Auto View On
- LOAFIL["Graphics/ImmortalDesigns.pic",4]
- Auto View Off
- Unpack 4 To 0 : Screen Hide
- Erase 4
- Screen 7 : Get Palette 0 : Screen 0
- For A=0 To 15 : Colour A,$FFF : Next : Colour Back $FFF
- Screen Display 0,128,40,320,512
- Auto View On
- Wait Vbl
- Screen Show
- Fade 3 To 7
- Timer=0
- LOAFIL["Graphics/Presents.pic",4]
- Repeat : Multi Wait : Until Timer>100
- Screen 7 : For A=0 To 15 : Colour A,$FFF : Next : Screen 0
- Fade 1 To 7 : Wait 16
- Auto View Off
- Unpack 4 To 0
- Erase 4
- Screen 7 : Get Palette 0 : Screen 0
- For A=0 To 15 : Colour A,$FFF : Next
- Wait Vbl : View
- Auto View On
- Fade 1 To 7 : Wait 50
- For Y=0 To 512 Step 4
- For X=0 To 39
- If Y-X*8=>0 and Y-X*8<256 Then Screen Copy 7,X*16,Y-X*8,X*16+16,Y-X*8+4 To 0,X*16,Y-X*8+176
- Next
- Wait Vbl
- Next
- Wait 100
- Fade 4
- Repeat : C=Colour(0) : Colour Back C : View : Wait Vbl : Until C=0
- Screen Close 0
- Screen Close 7
- Return
- CREDITSSCROLLER:
- LOAFIL["Graphics/HiresFont.pic",5]
- Unpack 5 To 0 : Screen Hide
- Erase 5
- For A=0 To 58
- Get Block A+1,(A mod 20)*32,(A/20)*40,32,40
- Next
- Extension_8_1486 0,0
- Screen Close 0
- Screen Open 0,704,688,4,$8000
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
- Screen Display 0,104,40-Ntsc*10,352,256-Ntsc*56
- Extension_8_149E 0,0 : View
- Screen Show 0
- YPOS=0
- Screen Offset 0,0,YPOS+32
- T$="LAND OF MAGIC$############&$THE RESURRECTION$$$"
- T$=T$+"A GAME BY$%%%%%%%%%%%%%%%+$-IMMORTAL DESIGNS-$###############&$$$"
- T$=T$+"SUPERVISOR$#########&$MARCO EBERHARDT$$$"
- T$=T$+"PROGRAMMING$##########&$CHRIS HODGES$$$"
- T$=T$+"STORYBOARD$#########&$MARCO EBERHARDT$$$"
- T$=T$+"MAIN GRAPHICS$############&$RICCARD LINDE$$$"
- T$=T$+"UNDERGROUND GFX$##############&$FREDRIK JOHANSSON$$$"
- T$=T$+"MUSIC AND SOUND$##############&$FREDRIK JOHANSSON$$$"
- T$=T$+"ORIGINAL PROGRAMMING$###################&$MARCO EBERHARDT$PER JONSSON$CHRISTIAN ANDERSSON$$$"
- ' T$=T$+"MORAL SUPPORT$############&$MARCO EBERHARDT$$$"
- T$=T$+"GAME TESTERS$###########&$...$$$"
- T$=T$+"EXECUTIVE PRODUCER$#################&$IMMORTAL DESIGNS$$$"
- T$=T$+"$$$$$$$$$$$$"
- BP=1 : QUIT=0
- Repeat
- Add YPOS,1,0 To 319
- Screen Offset 0,0,YPOS+32
- Gosub PULET
- Wait Vbl
- If(Mouse Key<>0) and QUIT=0 Then Inc QUIT : Fade 2
- If QUIT Then Inc QUIT
- Until QUIT=32
- Screen Close 0
- Return
- PULET:
- YM=YPOS mod 40
- YP=YPOS-YM
- If YM=0 Then LP=0
- If LP=0
- XP=192*2
- For A=BP To Len(T$)
- Exit If Mid$(T$,A,1)="$"
- Add XP,-16
- Next
- Inc LP : Return
- End If
- If LP=1
- Ink 0 : Bar 0,YP To 703,YP+39
- Inc LP : Return
- End If
- If LP=2
- Ink 0 : Bar 0,YP+320 To 703,YP+359
- Inc LP : Return
- End If
- If LP=3
- A$=Mid$(T$,BP,1)
- P=Asc(Mid$(T$,BP,1))
- Add BP,1,1 To Len(T$)
- If P=36
- LP=-1
- Else
- Put Block P-31,XP,YP
- Put Block P-31,XP,YP+320
- Add XP,32
- End If
- End If
- Return
- End Proc
- Procedure LOAFIL[F$,BANK]
- If Exist(F$)=0 Then Print "Serious Error! File "+F$+"Not found!" : Stop
- If BANK>0 Then Trap Load F$,BANK
- If Errtrap or BANK<0 Then Extension_8_0EA2 F$,BANK
- Extension_8_008A Abs(BANK)
- End Proc
- Procedure TURBOCONVGREY[SC1,SC2,BYTES]
- ' COMPILED PROCEDURE -- can't convert this to AMOS code
- End Proc